package com.speaktoitcookbook.dao;

import java.sql.SQLException;
import java.util.List;

import com.speaktoitcookbook.bean.Cookbook;
import com.speaktoitcookbook.bean.Material;

/**
 * 菜谱原料数据操作接口
 * 
 * @author 杨强
 * 
 */
public interface IMaterialDao {
    /**
     * 增加菜谱的某种原料
     * 
     * @param material
     *            菜谱的原料
     * @return true成功，false失败
     * @throws SQLException
     *             数据库异常
     */
    public boolean doCreate(Material material) throws SQLException;

    /**
     * 更新菜谱的某种原料
     * 
     * @param material
     *            菜谱的原料
     * @return true成功，false失败
     * @throws SQLException
     *             数据库异常
     */
    public boolean doUpdate(Material material) throws SQLException;

    /**
     * 删除菜谱的某种原料
     * 
     * @param cookbookID
     *            菜谱标识
     * @param name
     *            原料名称
     * @return true成功，false失败
     * @throws SQLException
     *             数据库异常
     */
    public boolean doDelete(long cookbookID, String name) throws SQLException;

    /**
     * 获取指定菜谱的全部原料
     * 
     * @param cookbookID
     *            菜谱标识
     * @return 菜谱的全部原料集合
     * @throws SQLException
     *             数据库异常
     */
    public List<Material> getMaterial(long cookbookID) throws SQLException;

    /**
     * 根据原料获取菜谱信息
     * 
     * @param name
     *            原料名称
     * @return 菜谱信息集合
     * @throws SQLException
     *             数据库异常
     */
    public List<Cookbook> getCookbook(String name) throws SQLException;
}
